Advanced driver assistance systems (ADAS) are systems developed to automate and enhance vehicle systems for safety and better driving. Many driver assistance systems use information about a vehicle's position, orientation and motion state to assist the driver in various ways. This information may even be used to drive the vehicle autonomously.
Among others, visual odometry may be used to determine a vehicle's position. In a system for visual odometry, cameras are used to record input images and image corrections are applied. Features are detected, the features are matched across image frames and an optical flow field is constructed, for example by using a correlation to establish a correspondence between two images, by feature extraction and correlation or by constructing an optical flow field using the Lucas-Kanade method. Tracking errors are detected, the corresponding outliers are removed and the camera motion is estimated from the optical flow, for example using a Kalman filter or by minimizing a cost function that is based on geometric properties of the features.
In some examples, a method and device for camera calibration includes parameters of the camera, such as the tilting angle and pan angle, that are calibrated using detected parallel lines and corresponding vanishing points. Other examples describe the detection of vanishing points using a projection onto a normalized unit sphere.
The following references [1] to [3] relate to the subject matter of the present disclosure and are hereby incorporated by reference.
[1] Filippo Vella, Alfio Castorina, Massimo Mancuso, Giuseppe Messina, “Digital Image Stabilization by Adaptive Block Motion Vectors Filtering”, IEEE Trans. Consumer Electronics, 2002.
[2] Joseph Geumlek, Ling Han Meng, “Contextual Point Matching for Video Stabilization: Sea Shell Sketch”. University of California Irvine, 2012.
[3] Yanhao Zhang, Hongxun Yao, Pengfei Xu, Rongrong Ji, Xiaoshuai Sun, Xianming Liu, “Video stabilization based on saliency driven SIFT matching and discriminative RANSAC”, in: Proceedings of the Third International Conference on Internet Multimedia Computing and Service, 2011.
Vella et al. [1] describes a motion estimation method based on block motion vectors. This method is robust but may introduce errors, such as blocks appearing in the final image.
Geumlek et al. [2] applies a contextual shape matching algorithm. This method is computationally-intensive but it outperforms methods which only consider local features in cases where the shapes involved have high degrees of self-similarity, or change in appearance significantly between frames while maintaining a similar overall shape.
Zhang et al. [3] use scale invariant feature transform (SIFT) matching and discriminative RANSAC. A Kalman filter is then applied to complete the motion smoothing task.